<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of con_informe_tipo
 *
 * @author xps
 */
class con_informe_tipo extends CI_Controller{
    //put your code here    
    public function __construct() 
    {
        parent::__construct();
        $this->load->helper('csv');
        $this->load->model('mod_informe_tipo');
    }
    function index()
    {
        $this->form_validation->set_rules('fecha_inicio', 'Fecha Inicio', 'required|trim');
        $this->form_validation->set_rules('fecha_fin', 'Fecha FIn', 'required|trim');
        $this->form_validation->set_rules('supervisor', 'supervisor', 'required|trim');
        
        if($this->form_validation->run()==FALSE)
        {            
               $this->load->view('view_informe_tipo');	
        }else{
             $data['supervisor'] = $this->input->post('supervisor');
             $data['fecha_inicio'] = $this->input->post('fecha_inicio');
             $data['fecha_fin'] = $this->input->post('fecha_fin');
             $total_de_datos_informe = 0;
             $contador = 0;
             if($data['supervisor'] == 0)
             {
                 //saco todos los usuarios
                 $total_usuarios = $this->mod_informe_tipo->selecciona_todos_usuarios();
                 for($k = 0; $k < count($total_usuarios); $k++)
                 {
                     $data['supervisor'] = $total_usuarios[$k]->id_usuario;
                     $datos = $this->mod_informe_tipo->consulta_posiciones_usuario_mongo($data['supervisor']);
                     $datos_fijos=array('_id','id_usuario','detalle_posicion','fecha_ingreso','fecha_gestion');
                     
                     if($datos != 0)//hay datos
                     {                         
                            for($i = 0; $i < count($datos);$i++)
                            {
                                foreach($datos[$i] as $nombre_campo => $valor)
                                {
                                    if (!in_array($nombre_campo,$datos_fijos))
                                    {
                                        $data_result[$i][$nombre_campo]=$valor;
                                    }
                                }
                            }
                            for($i = 0; $i < count($datos);$i++)
                            {
                                $data_result[$i]['localidad']=$datos[$i]['detalle_posicion']['localidad']['localidad'];
                                $data_result[$i]['provincia']=$datos[$i]['detalle_posicion']['localidad']['provincia'];
                                $data_result[$i]['region']=$datos[$i]['detalle_posicion']['localidad']['region'];
                            }
                            if($contador == 0 && $datos != 0 )
                            {                                
                                $total_de_datos_informe = $data_result;
                                $contador = $contador + 1;   
                            }
                            else{
                                    array_merge($total_de_datos_informe,$data_result);                               
                            }
                     }                    
                 }
                                     $this->config->set_item('compress_output', FALSE);                     
                                     array_to_csv($total_de_datos_informe, 'informe_tipo.csv');
                                     
                  
             }else
             {
                    $datos = $this->mod_informe_tipo->consulta_posiciones_usuario_mongo($data['supervisor']);
                    
                    $datos_fijos=array('_id','id_usuario','detalle_posicion','fecha_ingreso','fecha_gestion');
                    
                    if($datos != 0)//hay datos
                    {
                        for($i = 0; $i < count($datos);$i++)
                        {
                            foreach($datos[$i] as $nombre_campo => $valor)
                            {
                                if (!in_array($nombre_campo,$datos_fijos))
                                {
                                    $data_result[$i][$nombre_campo]=$valor;
                                }
                            }                        
                        }
                        for($i = 0; $i < count($datos);$i++)
                        {
                            $data_result[$i]['localidad']=$datos[$i]['detalle_posicion']['localidad']['localidad'];
                            $data_result[$i]['provincia']=$datos[$i]['detalle_posicion']['localidad']['provincia'];
                            $data_result[$i]['region']=$datos[$i]['detalle_posicion']['localidad']['region'];
                        }
                        $this->config->set_item('compress_output', FALSE);                     
                        array_to_csv($data_result, 'informe_tipo.csv'); 
                    }
                    else {
                        $this->session->set_flashdata('modal_error',consulta_vacia);
                        redirect('con_informe_tipo');          
                    }                 
             } 
        }
        
    }
}
?>
